1. Field of the Invention
This invention relates to the field of coordinating the behavior of multiple components. More specifically, the invention comprises a mechanism and method for controlling the actions of multiple components by continually transferring a coordinating process from component to component.
2. Description of the Related Art
There are several prior art approaches to controlling a number of independent components which need to cooperate in order to achieve an objective. One example of such a problem involves the control and coordination of teams of semi-autonomous robots engaged in complex tasks requiring coordinated action. There are presently no completely satisfactory techniques for reliably coordinating such teams in realistically complex environments. The obvious and traditional approach is to include in the team a single coordinating authority that directs and coordinates the activities of all team members. This approach, however, has a high communication overhead because the coordinating authority needs to have complete and up-to date information about the operational state of each of the robots. In addition, the overall system is inherently fragile, as any damage to the coordinating authority can render the entire team leaderless. The chief advantage of having a single coordinating authority, however, is simplicity of implementation and predictability of overall team behavior.
Another approach to coordinating a team of robots is to assign an “agent” status to each robot. Each robot is responsible for its own actions and maintaining its own world-view. Coordination amongst the agents can require something akin to social negotiation with all its concomitant uncertainties and high computational and communication costs.
Biologically inspired approaches have been developed to avoid some of the problems inherent in explicit coordination schemes. Biological coordination occurs with a flock of birds or a colony of ants. Coordination is possible without sharing a great deal of information. Using the quasi-biological approach, organized behavior must emerge dynamically from the individual actions of “swarms” of simple robots. All of these approaches lack a common viewpoint or perspective on the action of the entire team considered as an integrated system. This shortcoming makes the programming and control of these systems very difficult.
In general the prior art systems suffer from one or more of the following known weaknesses:
CODE COMPLEXITY: Non-centralized approaches to control and coordination of multiple nodes tend to be complex to design and implement, making it difficult and time consuming to develop, test, and debug. Moreover, the complexity of the solution tends to make it difficult to understand and its behavior difficult to predict.
LACK OF ROBUSTNESS: A key issue is how a system behaves when one or more of its components axe lost. In prior art systems using a single central node for control, the destruction of that single node will cause the overall system to either fail completely or be seriously degraded in effectiveness. Prior art systems have addressed this concern by “electing” a new central control node when the existing node is lost. However, this election mechanism tends to be complex.
COMPLEXITY OF COORDINATION: As discussed above, when a collection of robots is conceptualized as a team of independent agents, many complex issues arise concerning how best to communicate and coordinate the activities of the team. In fact, much of the communication required in such systems involves negotiation between the agents. Some of these solutions are also unpredictable in their overall behavior.
DATA MANAGEMENT DIFFICULTY: In systems using modern sensors, the amount of data often dwarfs the computational process. As sensors get smarter, they will need to coordinate better to jointly interpret observations. In this context, any truly useful system must excel in simplifying the coordination requirements for large networks of smart sensors and effectively manage data.
DATA INSECURITY: Many, if not all, applications deal with the collection and manipulation, of sensitive data that must be guarded and cannot be released. In prior art systems, the requirements for data exchange make it difficult to safeguard data that is resident on nodes.
In summary, prior art systems known to the Applicants require elaborate protocols for communicating between agents, coordinating separate views of the situation or achieving consensus before taking group action. Further, prior art protocols must be written so as to accommodate the architectural complexities of the dynamics of each of the components involved. Thus, there is need in the art for a system of coordination and communication that, for example only and not by way of limitation, eliminates all point-to-point communication, involves no negotiation protocols and eliminates the need to move large volumes of data.